4c7211679657b1857ddbce946799cab93f18f9a1,src/main/java/com/cognitect/transit/impl/JsonParser.java,JsonParser,parseMap,#boolean#ReadCache#MapReadHandler#JsonToken#,79

Before Change


                String keyString = (String) key;
                if (keyString.length() > 1 && keyString.charAt(1) == Constants.TAG) {
                    tagged = true;
                    val_handler = handlers.get(keyString.substring(2));
                }
            }

            jp.nextToken();

            if (!tagged) {
                val = parseVal(false, cache);
                mb = mr.add(mb, key, val);
            } else {
                if (val_handler != null) {
                    if (this.jp.getCurrentToken() == JsonToken.START_OBJECT && val_handler instanceof MapReadHandler) {
                        // use map reader to decode value
                        val = parseMap(false, cache, (MapReadHandler) val_handler);
                    } else if (this.jp.getCurrentToken() == JsonToken.START_ARRAY && val_handler instanceof ArrayReadHandler) {
                        // use array reader to decode value
                        val = parseArray(false, cache, (ArrayReadHandler) val_handler);
                    } else {
                        // read value and decode normally
                        val = val_handler.fromRep(parseVal(false, cache));
                    }
                } else {
                    // default decode
                    val = this.decode(((String)key).substring(2), parseVal(false, cache));
                }
                jp.nextToken(); // advance past end of object or array
                return val;

After Change


                    }
                } else {
                    // default decode
                    val = this.decode(tag, parseVal(false, cache));
                }
                jp.nextToken(); // advance to read end of object or array
                return val;